package com.hzncc.flowable_diboot.delivery.vo;

import com.diboot.core.binding.annotation.*;
import com.diboot.core.vo.FileVO;
import com.diboot.core.vo.LabelValue;
import com.diboot.iam.entity.IamOrg;
import com.diboot.iam.entity.IamPosition;
import com.diboot.iam.entity.IamRole;
import com.diboot.iam.entity.IamUser;
import com.diboot.file.entity.FileRecord;
import com.diboot.tenant.entity.IamTenant;
import com.hzncc.flowable_diboot.delivery.entity.DeliveryRegister;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.List;
/**
* 发货登记 VO定义
* @author MyName
* @version 1.0
* @date 2024-10-12
* Copyright © MyCorp
*/
@Getter @Setter @Accessors(chain = true)
public class DeliveryRegisterListVO extends DeliveryRegister  {

    private static final long serialVersionUID = 1294441168716368642L;

    /**
     * 运输公司 关联字典选项
     */
    @BindDict(type = "transitCompany",field = "transitCompany")
    private String transitCompanyLabel;

    /**
    * 是否登记 关联字典选项
    */
    @BindDict(
    type = "yesNo",
    field = "registered"
    )
    private LabelValue registeredLabel;

    /**
    * 登记类型 关联字典选项
    */
    @BindDict(
    type = "registerType",
    field = "registerType"
    )
    private LabelValue registerTypeLabel;

    /**
     * 合同评审类型 关联字典选项
     */
    @BindDict(
            type = "reviewCategory",
            field = "reviewCategory"
    )
    private LabelValue reviewCategoryLabel;

    /**
    * 发货情况 关联字典选项
    */
    @BindDict(
    type = "deliverySituation",
    field = "deliverySituation"
    )
    private LabelValue deliverySituationLabel;

    /**
    * 是否已开票 关联字典选项
    */
    @BindDict(
    type = "yesNo",
    field = "invoiced"
    )
    private LabelValue invoicedLabel;

    /**
    * 未开票类型 关联字典选项
    */
    @BindDict(
    type = "invoiceType",
    field = "invoiceType"
    )
    private LabelValue invoiceTypeLabel;

    /**
     * 成套发货
     */
    @BindDict(
            type = "completeSet",
            field = "completeSet"
    )
    private LabelValue completeSetLabel;

    /**
    * 创建人 关联信息
    */

    @BindField(
        entity = IamUser.class,
        field = "realname",
        condition = "this.create_by = id"
     )
    private String createByLabel;

    /**
    * 更新人 关联信息
    */

    @BindField(
        entity = IamUser.class,
        field = "realname",
        condition = "this.update_by = id"
     )
    private String updateByLabel;

}